package com.heatup.apt.common.util;

import com.baomidou.mybatisplus.annotations.IdType;
import com.baomidou.mybatisplus.generator.AutoGenerator;
import com.baomidou.mybatisplus.generator.ConfigGenerator;

/**
 * mybatis-plus 代码自动生成实用类
 *
 * 将会自动生成 Controller Service ServiceImpl Mapper Mybatis.xml 文件
 *
 * @author: Blank
 * @create: 2016-12-1-下午 6:40
 */
public class MybatisPlusGenerator {

    public static void main(String[] args) {
        ConfigGenerator cg = new ConfigGenerator();
        // 配置 MySQL 连接
        cg.setDbDriverName("com.mysql.jdbc.Driver");
        cg.setDbUrl("jdbc:mysql://127.0.0.1:3306/diet_dev");
        cg.setDbUser("root");
        cg.setDbPassword("123456");
        // 配置包名
        cg.setControllerPackage("com.heatup.apt.api.controller");
        cg.setEntityPackage("com.heatup.apt.model");
        cg.setServicePackage("com.heatup.apt.api.service");
        cg.setServiceName("%sService");
        cg.setMapperPackage("com.heatup.apt.common.dao");
        cg.setXmlPackage("com.heatup.apt.common.dao");
        cg.setDbColumnUnderline(false);
        cg.setResultMap(true);//生成 ResultMap 为 true 时会导致Base_Column_List不生成了...

        /**
         * 主键策略选择        user_activity_record
         * MP支持以下4中主键策略，可根据需求自行选用：
         * 值	描述user_activity_record
         * IdType.AUTO	数据库ID自增
         * IdType.INPUT	用户输入ID
         * IdType.ID_WORKER	全局唯一ID，内容为空自动填充（默认配置） 18位的Long型ID 官方推荐此主键生成策略!!!
         * IdType.UUID	全局唯一ID，内容为空自动填充
         *
         */
        cg.setIdType(IdType.AUTO);
        //配置表名 （若为空就直接指定所有表，格式为逗号分割）
        String[] tables ={"purchase_course_vip_rights_log","user_course_vip_service"};
        cg.setTableNames(tables);
        // 配置保存路径 linux/MacOS请自行修改对应路径
        cg.setSaveDir("D:\\downFile");
        // 其他参数请根据上面的参数说明自行配置，当所有配置完善后，运行AutoGenerator.run()方法生成Code
        //http://mp.baomidou.com/docs/code-generator.html 配置说明请参考
        // 生成代码
        AutoGenerator.run(cg);
    }
}
